package br.ufrj.pesc.misc;


import java.net.MalformedURLException;
import java.text.Normalizer;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import br.com.gpetec.mom.domain.solr.documents.Orientacao;
import br.ufrj.pesc.cassandra.SimpleCassandraClient;
import br.ufrj.pesc.solr.SearchSolrHandler;

public class Populando2 {

	/**
	 * @param args
	 * @throws MalformedURLException 
	 */
	public static void main(String[] args) throws MalformedURLException {
		// TODO Auto-generated method stub

		SimpleCassandraClient client = new SimpleCassandraClient();
		client.connect("127.0.0.1");
		SearchSolrHandler solr= new SearchSolrHandler() ;
		Date dataHoje = new Date();
		Calendar calendario = Calendar.getInstance();
		calendario.set(2012, 6, 13, 0, 0, 0);
		calendario.set(Calendar.MILLISECOND, 0);


		Calendar calendario2 = Calendar.getInstance();
		calendario2.set(2012, 7, 13, 0, 0, 0);
		calendario2.set(Calendar.MILLISECOND, 0);

		Date dataInicioMom = calendario.getTime();



		ArrayList<String> fontes = new ArrayList<String>();
//		fontes.add("twitter");
		//	fontes.add("facebook");
			fontes.add("noticia");
		ArrayList<String> entidades= new ArrayList<String>();
		entidades.add("josé serra");
		entidades.add("lula");
		entidades.add("dilma rousseff");
		entidades.add("eduardo paes");
		entidades.add("marcelo freixo");
		entidades.add("fernando haddad");
		entidades.add("soninha francine");
		entidades.add("celso russomanno");
		entidades.add("otávio leite");
		entidades.add("rodrigo maia");



		//for(String fonte:fontes){
		while (calendario.getTime().before(dataHoje)){
			for(String entidade:entidades){


				List<Integer> mencoesP = solr.recuperaOrientacao(entidade, Orientacao.POSITIVO, calendario.getTime(), calendario2.getTime(),fontes).get(Orientacao.POSITIVO);
				List<Integer> mencoesNeutro = solr.recuperaOrientacao(entidade, Orientacao.NEUTRO, calendario.getTime(), calendario2.getTime(),fontes).get(Orientacao.NEUTRO);
     			List<Integer> mencoesNegativo = solr.recuperaOrientacao(entidade, Orientacao.NEGATIVO, calendario.getTime(), calendario2.getTime(), fontes).get(Orientacao.NEGATIVO);

				System.out.println(mencoesP.get(0) +" "+mencoesNeutro.get(0)+" "+mencoesNegativo.get(0));

				entidade= Normalizer.normalize(entidade, Normalizer.Form.NFD);
				entidade = entidade.replaceAll("[^\\p{ASCII}]", "");


				client.execute("INSERT INTO politicosVsDiaComOrientacao(nomeEntidade,dia,fonte,positivo,neutro,negativo)  VALUES ('"+entidade+"',"+calendario.getTimeInMillis()+",'"+fontes.get(0)+"',"+mencoesP.get(0)+","+mencoesNeutro.get(0)+","+mencoesNegativo.get(0)+");");

				

				//			
			}
			calendario.add(Calendar.DAY_OF_MONTH, 1);
			calendario2.add(Calendar.DAY_OF_MONTH, 1);
		}
		//}


		//calendario.roll(Calendar.DAY_OF_MONTH, 1);

		//System.out.println(solr.recuperaDocumentos("*:*", dataInicioMom, calendario.getTime()).size());

	}

}
